﻿//Copyright (c) Microsoft Corporation.  All rights reserved.

using System;

namespace Microsoft.Ted.Wacel.Base
{
    public interface ILockProvider
    {
        void PutInSub(string key, long value);
        long Increment(string key, long increment, long defaultValue);
        long ReadAndLock(string key, long defaultValue, TimeSpan timespan, out object lockHandle);
        void PutAndUnlock(string key, long value, object lockHandle);
        void Unlock(string key, object lockHandle);
        void Clear();
    }
}
